﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using Core.Reader;
using Core.Writer;

namespace Core.Formats
{
    public class HTTPFormat : IDocumentFormat
    {
        public void Decode(string Text, IDataWriter Writer)
        {
            throw new NotImplementedException();
        }

        public void Encode(IDataReader Reader, TextWriter Writer)
        {
            throw new NotImplementedException();
        }

        public string GetString(object Value)
        {
            throw new NotImplementedException();
        }

        public object ParseValue(string Text)
        {
            throw new NotImplementedException();
        }

        ///// <summary> 对本次 HTTP 请求添加/重新设置参数 </summary>
        //public static string SetHttpParam(string Url, string Name, string Value)
        //{
        //    int Index;
        //    if ((Index = Url.IndexOf('?')) == -1)
        //    {
        //        return Url + "?" + Name + "=" + HttpContext.Current.Server.UrlEncode(Value);
        //    }

        //    if ((Index = Url.IndexOf(Name + "=", Index)) == -1)
        //    {
        //        return Url + "&" + Name + "=" + HttpContext.Current.Server.UrlEncode(Value);
        //    }

        //    var Flag = Url.IndexOf('&', Index);
        //    if (Flag == -1)
        //    {
        //        Url = Url.Substring(0, Index);
        //        return Url + Name + "=" + HttpContext.Current.Server.UrlEncode(Value);
        //    }
        //    else
        //    {
        //        Url = Url.Remove(Index, Flag - Index + 1);
        //        return Url + "&" + Name + "=" + HttpContext.Current.Server.UrlEncode(Value);
        //    }
        //}

        ///// <summary> 对本次 HTTP 移除单个参数 </summary>
        //public static string RemoveHttpParam(string Url, string Name)
        //{
        //    int Index;

        //    if ((Index = Url.IndexOf('?')) != -1 && (Index = Url.IndexOf(Name + "=", Index)) != -1)
        //    {
        //        var Flag = Url.IndexOf('&', Index);

        //        if (Flag == -1)
        //        {
        //            return Url.Substring(0, Index - 1);
        //        }
        //        else
        //        {
        //            return Url.Remove(Index, Flag - Index + 1);
        //        }
        //    }

        //    return Url;
        //}
    }
}